/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pagrafo.genetico;

import java.util.ArrayList;

/**
 *
 * @author Fabricio
 */
public class Populacao {
    
    public static double mediaDiferencaFitness(ArrayList<Cromossomo> c){
        
        double diferencas = 0.0;
        int interacoes = 0;
        
        for(int i = 0; i < c.size()-1; i++){
            for(int j = i+1; j < c.size(); j++){
                diferencas += Math.abs(c.get(i).getScore()-c.get(j).getScore());
                interacoes++;
            }
        }
        
        return diferencas/interacoes;
    }
    
    public static void imprimePopulacao(ArrayList<Cromossomo> cromossomos) {
        for (int i = 0; i < cromossomos.size(); i++) {
            //Para Teste
            System.out.print("Cromossomo " + i + ": ");
            for (int j = 0; j < cromossomos.get(i).v.length; j++) {
                System.out.print(cromossomos.get(i).v[j]);
                System.out.print(",");
            }
            System.out.print(" Score: " + cromossomos.get(i).getScore());
            System.out.println("");
        }
    }
    
}
